import java.util.Stack;

public class stack {
    public boolean backspaceCompare(String s, String t) {
        int len1 = s.length();
        int len2 = t.length();
        Stack<Character> ss = new Stack<>();
        Stack<Character> st = new Stack<>();

        for (int i = 0; i < len1; i++) {
            char ch = s.charAt(i);
            if (ch == '#') {
                if (!ss.isEmpty()) {
                    ss.pop();
                }
            } else {
                ss.push(ch);
            }
        }

        for (int i = 0; i < len2; i++) {
            char ch = t.charAt(i);
            if (ch == '#') {
                if (!st.isEmpty()) {
                    st.pop();
                }
            } else {
                st.push(ch);
            }
        }

        if (ss.size() != st.size()) {
            return false;
        }

        while (!ss.isEmpty() && !st.isEmpty()) {
            if (ss.pop() != st.pop()) {
                return false;
            }
        }
        return true;
    }
}
